package service

import (
	"fmt"
	"log"

	"chat-im/config"
	"chat-im/model"

	"xorm.io/xorm"
)

// 定义一个全局变量 对应的是一个指针
var DbEngine *xorm.Engine

// 数据库初始化
// func init() {
func InitDb() {

	//DbEngine进行初始化
	configDb := config.GetDb()
	DsName := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8", configDb.User, configDb.Pwd, configDb.Host, configDb.Db)
	var err error
	DbEngine, err = xorm.NewEngine("mysql", DsName)
	if err != nil {
		log.Fatal("数据库连接失败：" + err.Error())
	}

	//是否显示SQL语句
	DbEngine.ShowSQL(false)
	//数据库最大打开的连接数
	DbEngine.SetMaxOpenConns(2)

	//自动建表
	DbEngine.Sync2(new(model.User),
		new(model.Contact),
		new(model.Community))

	fmt.Println("init db base ok")
}
